#define _CRT_SECURE_NO_WARNINGS 1

//#include<iostream>
//#include <string>
//#include <string.h>
//#include <algorithm>
//using namespace std;
//
//int n;
//int main()
//{
//	cin >> n;
//	int count = 0;
//	string s;
//	while (n)
//	{
//		s.push_back(n % 10 + '0');
//		n /= 10;
//		count++;
//		if (count % 3 == 0 && n != 0)
//			s.push_back(',');
//	}
//	reverse(s.begin(), s.end());
//
//	printf("%s\n", s.c_str());
//	return 0;
//}

//class Solution {
//public:
//
//	bool IsContinuous(vector<int>& numbers) {
//		sort(numbers.begin(), numbers.end());
//
//		int count = 0;
//		for (int i = 0; i < numbers.size() - 1; i++)
//		{
//			if (numbers[i] == 0)
//			{
//				count++;
//				continue;
//			}
//
//			if ((numbers[i + 1] - numbers[i]) >= 2)
//			{
//				int tmp = (numbers[i + 1] - numbers[i]);
//				count = count - tmp + 1;
//
//				if (count < 0)
//				{
//					return false;
//				}
//			}
//			else if ((numbers[i + 1] - numbers[i]) == 0)
//			{
//				return false;
//			}
//
//		}
//
//
//		return true;
//
//	}
//};


//#include <iostream>
//#include <algorithm>
//using namespace std;
//
//
//int dp[45] = { 0 };
//int n = 0;
//
//int main()
//{
//	cin >> n;
//	dp[1] = 1;
//	for (int i = 2; i <= n; i++)
//	{
//		dp[i] = max(dp[i - 1] + 1, dp[i - 2] + 2);
//	}
//	printf("%d\n", dp[n]);
//	return 0;
//}